A storage server is a special-purpose processing system used to store and retrieve data on behalf of one or more client processing systems (“clients”). A storage server can be used for many different purposes, such as to provide multiple users with access to shared data or to back up mission critical data.
A file server is an example of a storage server. A file server operates on behalf of one or more clients to store and manage shared files in a set of mass storage devices, such as magnetic or optical storage based disks or tapes. The mass storage devices may be organized into one or more volumes of Redundant Array of Inexpensive Disks (RAID). Another example of a storage server is a device that provides clients with block-level access to stored data, rather than file-level access, or a device that provides clients with both file-level access and block-level access.
A client may use interfaces to access and manage data maintained by a storage system, such as a file server. The interfaces may be in various formats, including command line interfaces, application programming interfaces (APIs), and others. Using such interfaces, a management system for a storage system may provide the ability to take management actions that are directed to the storage system, such as commands to create, destroy, and modify storage structures and files.
However, multiple different versions or types of storage systems may exist. In one example, the design of a storage system may be modified over time, with new versions of the system being developed. This change process may result in there being one or more legacy storage systems that require support, as well new systems that may utilize different types of data storage and file structures.